#ifndef _OGRE_SYSTEM_H_
#define _OGRE_SYSTEM_H_

//#include "GameComponent.h"
//#include "GameSystemManager.h"
#include "GameSceneManager.h"

#include "Ogre.h"
using namespace Ogre;

//using namespace ApeComponent;
//class GameComponent;

class OgreSystem {
	//Component interface
public:
	//CCamera(Camera* cam,Viewport* viewport,RenderWindow* window);
	OgreSystem();
	~OgreSystem();

	//static OgreSystem *getSingleton();
	void saveConfigToXML(TiXmlElement* mElem);
	void loadConfigToXML(TiXmlElement* mElem);
	
	//CompVisual interface
	bool initialize();
	bool configure();
	bool loadResources(); //const = 0
	void destroy();
	bool saveToXML();

	Root* getRoot();
	RenderWindow* getWindow();
	
	unsigned long getWindowHandler();

	//int test; //const = 0
private:
	static Root *mRoot;
	static RenderWindow *mWindow;
	unsigned long hWnd;
};

#endif
